// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "SuperClipBoard.h"

DECLARE_MULTICAST_DELEGATE(FInsertNewItem)
class SMainWindow;

/**
 * Run the SuperClipBoard .
 */
int RunSuperClipBoard(const TCHAR* Commandline);

class FSuperClipBoardApplication
{
private:
	static FSystemWideCriticalSection* Check; //声明一个“锁”
public:
	/** Executes the application. */
	static void Exec();

	static void AwakenMainWindow();
#if PLATFORM_WINDOWS
	static void AwakenMainWindow_Win();
#elif PLATFORM_LINUX
	static void AwakenMainWindow_Linux();
	static void WindowminimizebyPid(const uint32 CurPid); 
#endif

	static TSharedPtr<SMainWindow> MainWindow;
	static FInsertNewItem InsertNewItem;
protected:

	/**
	 * Initializes the application.
	 *
	 */
	static void InitializeApplication();

	/**
	 * Shuts down the application.
	 *
	 */
	static void ShutdownApplication();
};
